package mesweb.mesweb.entity.produce;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hszh.wms.mbg.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import mesweb.mesweb.enums.enumSchedulePeriodType;
import mesweb.mesweb.enums.enumScheduleState;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;


/**
 * @Description: 订单产品排产
 * @Author: jeecg-boot
 * @Date:   2021-09-01
 * @Version: V1.0
 */
@Data
@TableName("Produce_Order_Product_Plan")
@EqualsAndHashCode(callSuper = true)
//@Accessors(chain = true)
@ApiModel(value="ProduceOrderProductPlan对象", description="订单产品排产")
public class ProduceOrderProductPlan extends BaseEntity implements Serializable {

	private static final long serialVersionUID = 1L;
	/**订单编号*/

    @ApiModelProperty(value = "订单编号")
	private java.lang.String orderNo;
	/**产品编号*/

    @ApiModelProperty(value = "产品编号")
	private java.lang.String productNo;
	/**产品名称*/

    @ApiModelProperty(value = "产品名称")
	private java.lang.String productName;

	/**产线Id*/

	@ApiModelProperty(value = "产线ID")
	private Long produceLineId;
	/**产线编号*/

    @ApiModelProperty(value = "产线编号")
	private java.lang.String produceLineNo;
	/**产线名称*/

    @ApiModelProperty(value = "产线名称")
	private java.lang.String produceLineName;
	/**批次*/

    @ApiModelProperty(value = "批次")
	private java.lang.String batch;
	/**客户需求量*/

    @ApiModelProperty(value = "客户需求量")
	private java.lang.Integer totalAmount;
	/**已生产数量*/

    @ApiModelProperty(value = "已生产数量")
	private java.lang.Integer producedAmount;
	/**未生产数量*/

    @ApiModelProperty(value = "未生产数量")
	private java.lang.Integer planAmount;
	/**交货时间*/

	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "交货时间")
	private java.util.Date deliveryDate;
	/**计划开始时间*/

	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "计划开始时间")
	private java.util.Date planProduceStartDate;
	/**计划结束时间*/

	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "计划结束时间")
	private java.util.Date planProduceEndDate;
	/**工期*/

    @ApiModelProperty(value = "工期")
	private java.lang.Float duration;
	/**latestProduceStartDate*/

	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "latestProduceStartDate")
	private java.util.Date latestProduceStartDate;

	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "latestProduceEndDate")
	private java.util.Date latestProduceEndDate;

	/**排产状态*/
    @ApiModelProperty(value = "排产状态")
	private enumScheduleState scheduleState;

	/**自由时差*/
    @ApiModelProperty(value = "自由时差")
	private java.lang.Float freeFloat;
    /*
    * 优先级*/
	private java.lang.Integer priority;

	/**排产周期*/
	@ApiModelProperty(value = "排产周期")
	private String schedulePeriod;

	/**排产周期类型*/
	@ApiModelProperty(value = "自由时差")
	private enumSchedulePeriodType schedulePeriodType;



}
